import fetch from 'common/src/utils/fetch';


/**
 * 删除流程模板
 */
function deleteTemplate(idList) {
    return fetch({
        url: '/api/workflow/workflow/deleteTemplate',
        method: 'delete',
        data: {
            'idList': idList
        }
    });
}

/**
 * 启用流程模板
 */
function startTemplate(idList) {
    return fetch({
        url: '/api/workflow/workflow/startTemplate',
        method: 'put',
        data: {
            'idList': idList
        }
    });
}

/**
 * 停用流程模板
 */
function stopTemplate(idList) {
    return fetch({
        url: '/api/workflow/workflow/stopTemplate',
        method: 'put',
        data: {
            'idList': idList
        }
    });
}

/**
 * 修改流程模板
 */
function updateTemplate(template) {
    return fetch({
        url: '/api/workflow/workflow/updateTemplate',
        method: 'put',
        data: template
    });
}

/**
 * 修改流程模板失败
 */
function updateTemplateReject(template) {
    return fetch({
        url: '/api/workflow/approval/updateList2Reject',
        method: 'post',
        data: template
    });
}


/**
 * 新增流程模板
 */
function addTemplate(template) {
    return fetch({
        url: '/api/workflow/workflow/addTemplate',
        method: 'post',
        data: template
    });
}

/**
 * 查询流程模板
 */
function selectTemplate(data, params = {}) {
    return fetch({
        url: '/api/workflow/workflow/selectTemplate',
        method: 'post',
        params: params,
        data: data
    });
}

/**
 * 查询流程模板类型
 */
function selectTemplateType() {
    return fetch({
        url: '/api/workflow/workflow/selectTemplateType',
        method: 'get'
    });
}

/**
 * 查看流程模板详情
 */
function selectTemplateDetail(data, params = {}) {
    return fetch({
        url: '/api/workflow/workflow/selectTemplateDetail',
        method: 'post',
        params: params,
        data: data
    });
}

export default {
    'deleteTemplate': deleteTemplate,
    'startTemplate': startTemplate,
    'stopTemplate': stopTemplate,
    'updateTemplate': updateTemplate,
    'updateTemplateReject': updateTemplateReject,
    'addTemplate': addTemplate,
    'selectTemplate': selectTemplate,
    'selectTemplateType': selectTemplateType,
    'selectTemplateDetail': selectTemplateDetail
};
